<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                >
    <ui:define name="content">
        <h:form id="forminforme">
            <p:growl autoUpdate="true"/>
            <p:panel header="Informes">
                <h:outputLabel value="Seccion:"/>
                <p:selectOneMenu converter="seccione" id="informeseccion" style="width: 249px" value="#{informeController.seccion}">
                    <f:selectItem itemLabel="Todos"/>
                    <f:selectItems value="#{informeController.listaSeccion}" var="seccione" itemLabel="#{seccione.nombre}" itemValue="#{seccione}"/>
                </p:selectOneMenu>
                <p:tabView id="tabView"  dynamic="false" activeIndex="3"> 
                    <p:tab id="tba1" title="Movimientos">  
                        <h:panelGrid columns="7">
                            <h:inputText id="idbuscarmov" value="#{informeController.valorBusqueda}"/>
                            <p:watermark for="idbuscarmov" value="Digite Apunte" /> 
                            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaI}"  id="fechadesde" />
                            <p:watermark for="fechadesde" value="Fecha Desde(dd/mm/aa)" /> 
                            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaF}"  id="fechahasta" />
                            <p:watermark for="fechahasta" value="Fecha Hasta(dd/mm/aa)" /> 
                            <p:commandButton process=":forminforme:informeseccion fechadesde fechahasta idbuscarmov @this" value="Buscar" update="idtablemov" action="#{informeController.search()}"/>
                        </h:panelGrid>
                        <p:dataTable id="idtablemov" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{informeController.listaMovimiento}" var="varmov">
                            <p:column headerText="Apunte">
                                #{varmov.id}
                            </p:column>
                            <p:column headerText="Fecha">
                                #{informeController.formatFecha(varmov.fecha)}
                            </p:column>
                            <p:column headerText="Concepto">
                                #{varmov.concepto}
                            </p:column>
                            <p:column headerText="Documento">
                                #{varmov.documento}
                            </p:column>
                            <p:column headerText="Debe">
                                #{varmov.debe}
                            </p:column>
                            <p:column headerText="Haber">
                                #{varmov.haber}
                            </p:column>
                            <p:column headerText="IVA">
                                #{varmov.iva}
                            </p:column>
                            <p:column headerText="Imp IVA">
                                #{varmov.impIVA}
                            </p:column>
                            <p:column headerText="B/C">
                                #{varmov.bc}
                            </p:column>
                            <p:column headerText="Total">
                                #{varmov.total}
                            </p:column>
                            <p:column headerText="Imprimir">
                                <p:commandButton immediate="true" icon="ui-icon-circle-check" action="#{movimientoController.prueba(varmov.id,varmov.fecha,varmov.fecha)}" />
                                <p:commandButton immediate="true" process="fechadesde fechahasta idbuscarmov @this" id="downloadLink" value="Descargar" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)"   
                                                 icon="ui-icon-circle-arrow-s">  
                                    <p:fileDownload value="#{informeController.dc}" />  
                                </p:commandButton> 
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                    <p:tab id="tba2" title="Declaraciones">  
                        <h:panelGrid columns="8">
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaIn}"  id="fechaD" />
                            <p:watermark for="fechaD" value="Fecha Desde(dd/mm/aa)" /> 
                            <p:calendar readonlyInput="true" mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaFn}"  id="fechaH" />
                            <p:watermark for="fechaH" value="Fecha Hasta(dd/mm/aa)" /> 
                            <p:commandButton process=":forminforme:informeseccion fechaD fechaH @this" icon="search" update="idtabledec" action="#{informeController.searchDeclaracion()}" />
                        </h:panelGrid>
                        <br/><br/>
                        <p:dataTable id="idtabledec" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{informeController.listaDeclaracion}" var="movim">
                            
                                    <p:column headerText="Fecha">
                                        #{informeController.formatFecha(movim.fecha) }
                                    </p:column>
                                    <p:column headerText="Concepto">
                                        #{movim.concepto}
                                    </p:column>
                                    <p:column headerText="Documento">
                                        #{movim.documento}
                                    </p:column>
                                    <p:column headerText="Debe">
                                        #{movim.debe}
                                    </p:column>
                                    <p:column headerText="Haber">
                                        #{movim.haber}
                                    </p:column>
                                    <p:column headerText="IVA">
                                        #{movim.iva}
                                    </p:column>
                                    <p:column headerText="Imp IVA">
                                        #{movim.impIVA}
                                    </p:column>
                                    <p:column headerText="B/C">
                                        #{movim.bc}
                                    </p:column>
                                    <p:column headerText="Descuento">
                                        #{movim.descuentoDeclaracion}
                                    </p:column>
                                    <p:column headerText="Total">
                                        #{movim.total}
                                    </p:column>
                        </p:dataTable>
                    </p:tab>
                    <p:tab id="id3" title="IVA">  
                        <h:panelGrid columns="7">
                            <h:outputLabel value="Tipo:"/>
                            <p:selectOneMenu style="size: 150px" id="iddiario" value="#{informeController.diario}">
                                <f:selectItem itemLabel="Seleccionar" itemValue=""/>
                                <f:selectItem itemValue="Diario 1" itemLabel="Movimiento"/>
                                <f:selectItem itemValue="Diario 2" itemLabel="Declaraciones"/>
                            </p:selectOneMenu> 
                            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaIiva}"  id="fechadesdeiva" />
                            <p:watermark for="fechadesdeiva" value="Fecha Desde(dd/mm/aa)" /> 
                            <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{informeController.fechaFiva}"  id="fechahastaiva" />
                            <p:watermark for="fechahastaiva" value="Fecha Hasta(dd/mm/aa)" /> 
                            <p:commandButton process=":forminforme:informeseccion fechadesdeiva fechahastaiva iddiario @this" value="Buscar" update="idiva updatedevingre" action="#{informeController.searchIva()}"/>
                        </h:panelGrid>
                        <p:panelGrid id="idiva" columns="2">
                            <p:panelGrid columns="4">
                                <h:outputLabel value="Ingreso-1"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[0]}" readonly="true"/>
                                <h:outputLabel value="Iva-reper.1"/>
                                <p:inputText size="8" value="0" readonly="true"/>
                                <h:outputLabel value="Ingreso-2"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[1]}" readonly="true"/>
                                <h:outputLabel value="Iva-reper.2"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[1]*0.04}" readonly="true"/>
                                <h:outputLabel value="Ingreso-3"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[2]}" readonly="true"/>
                                <h:outputLabel value="Iva-reper.3"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[2]*0.1}" readonly="true"/>
                                <h:outputLabel value="Ingreso-4"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[3]}" readonly="true"/>
                                <h:outputLabel value="Iva-reper.4"/>
                                <p:inputText size="8" value="#{informeController.objIvaIngreso[3]*0.21}" readonly="true"/>
                            </p:panelGrid>
                            <p:panelGrid columns="4">
                                <h:outputLabel value="Gastos-1"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[0]}" readonly="true"/>
                                <h:outputLabel value="Iva-sopor.1"/>
                                <p:inputText size="8" value="0" readonly="true"/>
                                <h:outputLabel value="Gastos-2"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[1]}" readonly="true"/>
                                <h:outputLabel value="Iva-sopor.2"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[1]*0.04}" readonly="true"/>
                                <h:outputLabel value="Gastos-3"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[2]}" readonly="true"/>
                                <h:outputLabel value="Iva-sopor.3"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[2]*0.10}" readonly="true"/>
                                <h:outputLabel value="Gastos-4"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[3]}" readonly="true"/>
                                <h:outputLabel value="Iva-sopor.4"/>
                                <p:inputText size="8" value="#{informeController.objIvaEgreso[3]*0.21}" readonly="true"/>
                            </p:panelGrid>
                        </p:panelGrid>
                        <p:panelGrid columns="8" id="updatedevingre">
                            <h:outputLabel value="A devolver:"/>
                            <p:inputText size="8" value="#{informeController.devolver}" readonly="true"/>
                            <h:outputLabel value="Base exenta:"/>
                            <p:inputText size="8" readonly="true" value="#{informeController.objIvaIngreso[0]}"/>

                            <h:outputLabel value="A ingresar"/>
                            <p:inputText size="8" value="#{informeController.ingresar}" readonly="true"/>
                            <h:outputLabel value="Base exenta:"/>
                            <p:inputText size="8" readonly="true" value="#{informeController.objIvaEgreso[0]}"/>
                        </p:panelGrid>
                    </p:tab>
                    <p:tab id="regfact" title="Registro Facturaracion">
                        <h:panelGrid columns="5" id="idannotrimi">
                            <h:outputLabel value="Trimestre:"/>
                            <p:selectOneMenu style="size: 400px" id="idtrimestre" value="#{informeController.declaracion.trimestre}">
                                <f:selectItem itemLabel="Seleccionar" itemValue="0"/>
                                <f:selectItem itemValue="1" itemLabel="1: Enero-Marzo"/>
                                <f:selectItem itemValue="2" itemLabel="2: Abril-Junio"/>
                                <f:selectItem itemValue="3" itemLabel="3: Julio-Septiembre"/>
                                <f:selectItem itemValue="4" itemLabel="4: Octubre-Diciembre"/>
                            </p:selectOneMenu>  
                            <h:outputLabel value="Año:"/>
                            <p:selectOneMenu style="size: 150px" id="idanno" value="#{informeController.declaracion.anno}">
                                <f:selectItem itemLabel="Seleccionar" itemValue="0"/>
                                <f:selectItem itemValue="2012" itemLabel="2012"/>
                                <f:selectItem itemValue="2013" itemLabel="2013"/>
                            </p:selectOneMenu>  
                            <p:commandButton process="@this idtrimestre idanno" icon="search" update="idtablemov1 datosadeclarar" actionListener="#{informeController.buscarFacturaciones}" />
                        </h:panelGrid>
                        <h:panelGrid columns="8" id="datosadeclarar">
                            <h:outputLabel value="Total ingreso:"/>
                            <h:outputLabel style="padding-right: 30px" id="idtotalingreso" value="#{informeController.declaracion.valorTotalFactura}"/>
                            <h:outputLabel value="Total facturas a descontar:"/>
                            <h:outputLabel style="padding-right: 30px" id="idtotaldesc" value="#{informeController.declaracion.valorFactDescontar}"/>
                            <h:outputLabel value="Imp a declarar:"/>
                            <h:inputText size="13" value="#{informeController.declaracion.valorDeclarado}" id="idimportedeclarar"/>
                            <p:commandButton disabled="#{!informeController.enableVistaPre}" process="@this idimportedeclarar" update="idtabledec1 idbuttonsave" actionListener="#{informeController.vistaPrevia()}" value="Vista Previa"/>
                            <p:commandButton update="datosadeclarar idtablemov1" process="@this idimportedeclarar" disabled="#{!informeController.enableGuardar}" id="idbuttonsave" actionListener="#{informeController.save()}" value="Guardar"/>
                        </h:panelGrid>
                        <p:panel header="Detalle Facturacion">
                            <p:dataTable id="idtablemov1" rowStyleClass="#{varmov.concepto.contains('PRACTIC')?'highlight':null}"
                                         paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{informeController.declaracion.movimientoAuxList}" var="varmov">
                                <p:column headerText="Fecha">
                                    #{movimientoController.formatFecha(varmov.fecha)}
                                </p:column>
                                <p:column headerText="Concepto">
                                    #{varmov.concepto}
                                </p:column>
                                <p:column headerText="Valor">
                                    #{varmov.haber}
                                </p:column>
                                <p:column headerText="IVA">
                                    #{varmov.iva}
                                </p:column>
                                <p:column headerText="Imp IVA">
                                    #{varmov.impIVA}
                                </p:column>
                                <p:column headerText="B/C">
                                    #{varmov.bc}
                                </p:column>
                                <p:column headerText="Total">
                                    #{varmov.total}
                                </p:column>
                                <p:column headerText="Valor descontado">
                                    #{varmov.descuentoDeclaracion}
                                </p:column>
                                <p:column headerText="Nuevo Valor">
                                    #{varmov.total-varmov.descuentoDeclaracion}
                                </p:column>
                            </p:dataTable>
                        </p:panel>
                    </p:tab> 
                    <p:tab title="Facturaciones Realizadas">
                        <p:dataTable id="idtabledec1" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{informeController.listaDeclaciones}" var="vardeclaracion">
                            <p:column headerText="Fecha">
                                #{informeController.formatFecha(vardeclaracion.fecha) }
                            </p:column>
                            <p:column headerText="Trimestre">
                                #{(vardeclaracion.trimestre) }
                            </p:column>
                            <p:column headerText="Año">
                                #{(vardeclaracion.anno) }
                            </p:column>
                            <p:column headerText="Valor Factura">
                                #{vardeclaracion.valorTotalFactura}
                            </p:column>
                            <p:column headerText="Valor factura a descontar">
                                #{vardeclaracion.valorFactDescontar}
                            </p:column>
                            <p:column headerText="Valor declarado">
                                #{vardeclaracion.valorDeclarado}
                            </p:column>
                            <p:column headerText="Acciones">
                                <p:commandButton value="Editar" actionListener="#{informeController.setEnableVistaPre(true)}" process="@this idtabledec1" update=":forminforme:tabView">
                                    <f:setPropertyActionListener target="#{informeController.declaracion}" value="#{vardeclaracion}"/>
                                </p:commandButton>
                            </p:column>
                        </p:dataTable>
                    </p:tab>
                </p:tabView>
            </p:panel>
        </h:form>
    </ui:define>
</ui:composition>